//默认的vue render
//可以直接用Vue、vuex、renderVueComponentToString，因为它们已在java中处理引用了

function renderApp(vueFile, callback) {

    //在渲染前执行的方法
    if(vueFile.script && vueFile.script.before && vueFile.script.before.length){
        try{
            eval(vueFile.script.before)
        }catch (e) {
            throw new Error('failed to eval vueFile.script.before：' + e.message)
        }
    }

    var script = {};
    if(vueFile.script && vueFile.script.exports){
        try{
            var func = new Function("return { " + vueFile.script.exports + " }");
            script = func();
        }catch (e) {
            throw new Error('failed to eval vueFile.script.exports：' + e.message)
        }
    }

    var options = Object.assign({
        template: vueFile.template
    },script);

    var vm = new Vue(options);

    renderVueComponentToString(vm,function (err,html) {
        if(err){
            callback.onError(err);
            return;
        }
        callback.onSuccess(html);
    })

}
